package com.elcl.util;

import android.util.DisplayMetrics;

import com.elcl.storage.ApplicationCache;

/**
 * @author LCL
 * 2014-11-18
 * 屏幕分辨率的若干方法
 */
public class Densityutils {
	
	public static DisplayMetrics getScreen(){
		return ApplicationCache.context.getResources().getDisplayMetrics();
	}
	
	public static int getScreenWidth(){
		DisplayMetrics dm = getScreen();
		return dm.widthPixels;
	}
	
	public static int getScreenHeight(){
		DisplayMetrics dm = getScreen();
		return dm.heightPixels;
	}
	
	/** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     */  
    public static int dpToPx(float dpValue) {  
        final float scale = ApplicationCache.context.getResources().getDisplayMetrics().density;  
        return (int) (dpValue * scale + 0.5f);  
    }  
  
    /** 
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
     */  
    public static int pxToDp(float pxValue) {  
        final float scale = ApplicationCache.context.getResources().getDisplayMetrics().density;  
        return (int) (pxValue / scale + 0.5f);  
    } 
    
    /** 
     * 根据手机的分辨率从 sp 的单位 转成为 px(像素) 
     */  
    public static int spToPx(float spValue) {  
        final float scale = ApplicationCache.context.getResources().getDisplayMetrics().scaledDensity;  
        return (int) (spValue * scale + 0.5f);  
    }  
  
    /** 
     * 根据手机的分辨率从 px(像素) 的单位 转成为 sp 
     */  
    public static int pxToSp(float pxValue) {
        final float scale = ApplicationCache.context.getResources().getDisplayMetrics().scaledDensity;  
        return (int) (pxValue / scale + 0.5f);  
    }
    

}
